CRAIG : A Practical Framework for Combining Instruction Scheduling and RegisterAssignmentThomas
نویسندگان
چکیده
In compilers for machines with instruction-level parallelism, the phases of register assignment and instruction scheduling can be antagonistic. Whichever phase is executed rst can have negative eeects on the other's performance. This paper describes a framework, called CRAIG (Combining Register Assignment Interference Graphs), that combines register assignment and instruction scheduling to alleviate the phase-ordering problem. CRAIG utilizes information gained from instruction scheduling before register assignment as an upper bound on the freedom needed by the instruction scheduler to attain its \best" schedule. CRAIG then allows heuristics to choose how close to the \best" schedule one can get before the cost of additional register pressure is too high. Within the context of this framework, the paper evaluates an instance of CRAIG called CRAIG0.
منابع مشابه
CRAIG: a practical framework for combining instruction scheduling and register assignment
In compilers for machines with instruction-level parallelism, the phases of register assignment and instruction scheduling can be antagonistic. Whichever phase is executed first can have negative effects on the other’s performance. This paper describes a framework, called CRAIG (Combining Register Assignment Interference Graphs), that combines register assignment and instruction scheduling to a...
متن کاملExplicit Dynamic Scheduling: A Practical Micro-Data ow Architecture
This paper introduces Explicit Dynamic Scheduling (EDS), a practical implementation of dataaow on a chip. By combining RISC design principles with well-known compiler dependence analysis techniques, EDS combines a straightforward hardware design, suitable for high speed implementation, with the performance advantages of dataaow at the instruction level. EDS uniies pipeline and memory latency to...
متن کاملMutation Scheduling: A Unified Approach to Compiling for Fine-Grain Parallelism
Trade-o s between code selection, register allocation, and instruction scheduling are inherently interdependent, especially when compiling for ne-grain parallel architectures. However, the conventional approach to compiling for such machines arbitrarily separates these phases so that decisions made during any one phase place unnecessary constraints on the remaining phases. Mutation Scheduling a...
متن کاملMutation Scheduling : A Uni ed Approach toCompiling for Fine - Grain Parallelism ?
Trade-oos between code selection, register allocation, and instruction scheduling are inherently interdependent, especially when compiling for ne-grain parallel architectures. However, the conventional approach to compiling for such machines arbitrarily separates these phases so that decisions made during any one phase place unnecessary constraints on the remaining phases. Mutation Scheduling a...
متن کاملA Practical Self-Assessment Framework for Evaluation of Maintenance Management System based on RAMS Model and Maintenance Standards
A set of technical, administrative and management activities are done in the life cycle of equipment, to be located in good condition and have proper and expected functioning. This is refers to be, maintenance management system (MMS). The framework and models of assessment in order to enhance effectiveness of a MMS could be proposed in two categories: qualitative and quantitative. In this resea...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1995